package org.example.work;

import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;

import java.util.*;
import java.util.stream.Collectors;

public class isBlank判断 {

    public static void main(String[] args) {
        String str = "";
        boolean isNotNull = str != null;
        System.out.println(isNotNull); // 输出: true


        String emptyString = "";          // 空字符串  true
        boolean empty = StringUtils.isBlank(emptyString);
        System.out.println(empty);
        String spaceString = " ";         // 只有一个空格 true
        boolean space = StringUtils.isBlank(spaceString);
        System.out.println(space);
        String tabString = "\t";          // 只有一个制表符 true
        boolean tab = StringUtils.isBlank(tabString);
        System.out.println(tab);
        String newlineString = "\n";      // 只有一个换行符 true
        boolean newlineString1 = StringUtils.isBlank(newlineString);
        System.out.println(newlineString1);
        String multipleSpaces = "   ";    // 多个空格   true
        boolean multipleSpaces1 = StringUtils.isBlank(multipleSpaces);
        System.out.println(multipleSpaces1);
        String mixedWhitespace = " \t\n"; // 混合的空白字符    true
        boolean mixedWhitespace1 = StringUtils.isBlank(mixedWhitespace);
        System.out.println(mixedWhitespace1);
        /**
         *  使用场景  为null或者为空的字符串
         * 1.数据验证：处理用户输入或从外部获取数据时，使用isBlank来确保字符串不是空白
         * 2.防止空指针异常:处理为null时的字符串
         * 3.空字符串：长度为0的字符串，例如 ""。
         * 空白字符串：只包含空格字符的字符串。这些空格字符可以是：
         * 空格 ' '
         * 制表符 '\t'
         * 换行符 '\n'
         * 回车符 '\r'
         * 垂直制表符 '\v'
         * 表格分隔符 '\f'
         */
    }
}
